package com.itfenghuang.day08;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

public class A00_复习 {
    public static void main(String[] args) throws IOException {


//        File file = new File("D:\\it\\aaa");
//        System.out.println(file);

//        File file1 = new File("D:\\it","a.txt");
//        System.out.println(file1);
//
//        File file2 = new File(file1,"aaa");
//        System.out.println(file2);

//        File file = new File("D:\\it\\fff\\a.txt");
//        System.out.println(file.createNewFile());//创建文件
//        System.out.println(file.mkdir());//创建单击文件夹
//        System.out.println(file.mkdirs());//创建多级文件夹
//        System.out.println(file.delete());//删除 文件 或 文件夹为空

        //判断文件或文件夹是否存在
//        System.out.println(file.exists());
        //判断是否是文件夹
//        System.out.println(file.isDirectory());
        //判断是否是文件
//        System.out.println(file.isFile());

        // 获取文件或文件夹绝对路径
//        System.out.println(file.getAbsolutePath());
        //获取file构造参数的路径
//        System.out.println(file.getPath());
        //获取文件或文件夹的名称
//        System.out.println(file.getName());
       //获取文件夹中所有的子文件和子文件夹的File对象并存入到数组中
//        File file2 = new File("D:\\it");
//        File[] files = file2.listFiles();
//        for (File file1 : files) {
//            System.out.println(file1);
//        }

        //删除一个多级文件夹  使用递归方法
        /** 步骤
         *      1.首先进入到文件夹,然后获取到该文件夹中的所有的子文件和子文件夹
         *        File对象  ListFiles()
         *      2.遍历File数组
         *      3.判断  if(是文件){删除}else{再次调用这个方法}
         *
         *      递归核心思想:  有一个方法,然后方法自己调用自己
         */


        //递归
//        int sum = getSum(5);
//        System.out.println(sum);
//        System.out.println(getSum1(5));



        //IO流
//        FileOutputStream fos = new FileOutputStream("D:\\it\\a.txt",true);
        //true 追加
//        fos.write(99);
//        fos.write(99);
//        fos.write(99);
        //public void write(byte[] b, int off , int len)
        //参数 : b  数组  off: 偏移量,从哪个索引开始  len: 元素的个数
//        byte[] bys={97,98,99,100};
//        fos.write(bys);
//        fos.write(bys,0,bys.length);
//        fos.write("\r\n".getBytes());//换行
//        fos.write("\r\n".getBytes());//换行
//        fos.write(bys,2,2);
//        fos.close();//释放资源


//        method()// 创建方法   写个方法名() alt+ 回车
        File file = new File("D:\\it");
        method(file);
    }

    private static void method(File file) {
        File[] files = file.listFiles();
        for (File file1 : files) {
            if (file1.isFile()){
                file1.delete();
            }else{
                method(file1);
            }
        }
        file.delete();

    }

//    private static int getSum(int i){
//        if (i==1){
//            return 1;
//        }else{
//            return i+getSum(i-1);
//        }
//    }
//    private static int getSum1(int i){
//        if (i==1){
//            return 1;
//        }else{
//            return i*getSum1(i-1);
//        }
//    }

}
